package sim.utils.GenVarAle;

/**
 * Genera valores que responden a una <b>Variable Uniforme</b> entre los valores
 * <i>minimo</i> y <i>maximo</i>.
 * 
 * @author alejandro
 * 
 */
public class VGUniforme extends VariableGenerator {

	private long minimo;
	private long maximo;

	/**
	 * Constructor con parámetros. Se debe pasar los límites superior e
	 * inferior.
	 * 
	 * @param minimo
	 *            El límite inferior del generador.
	 * @param maximo
	 *            El límite superior del generador.
	 */
	public VGUniforme(long minimo, long maximo) {
		super();
		this.minimo = minimo;
		this.maximo = maximo;
	}

	@Override
	protected double generarValor() {
		double rnd = super.randomGenerator.next();
		super.lastRandom = rnd;
		super.randomGenerator.next();
		double valor = this.minimo + rnd * (this.maximo - this.minimo);
		return valor;
	}

}
